Method of addressing messages, method of establishing wireless communications and communications system

ABSTRACT

A method of and apparatus for establishing wireless communications between an interrogator and individual ones of multiple wireless identification devices, the method comprising utilizing a tree search method to establish communications without collision between the interrogator and individual ones of the multiple wireless identification devices, a search tree being defined for the tree search method, the tree having multiple levels representing subgroups of the multiple wireless identification devices, the number of devices in a subgroup in one level being half of the number of devices in the next higher level, the tree search method employing level skipping wherein at least one level of the tree is skipped. A communications system comprising an interrogator, and a plurality of wireless identification devices configured to communicate with the interrogator in a wireless fashion, the respective wireless identification devices having a unique identification number, the interrogator being configured to employ a tree search technique to determine the unique identification numbers of the different wireless identification devices so as to be able to establish communications between the interrogator and individual ones of the multiple wireless identification devices without collision by multiple wireless identification devices attempting to respond to the interrogator at the same time, wherein levels of the tree are occasionally skipped. In one aspect, the method comprises transmitting a first command to select a group of RFID devices based at least in part on a first memory range beginning at a first bit location. The method further comprises transmitting a second command, successively following the first command, to select a subgroup of the group of RFID devices based at least in part on a second memory range beginning at a second bit location. The second bit location is shifted by two or more bits from the first bit location and receives a reply from at least one RFID device of the subgroup of RFID devices. The reply includes an identifier to uniquely identify the RFID device.

CROSS REFERENCE TO RELATED APPLICATION

ThisMore than one reissue application has been filed for the reissue ofU.S. Pat. No. 6,307,848. The reissue applications are the initialreissue application Ser. No. 10/693,697 filed Oct. 23 2003, now U.S.Reissue Pat. No. Re. 42,344, a continuation reissue application Ser. No.11/865,580 filed Oct. 1, 2007, now U.S. Reissue Pat. No. Re. 43,020, acontinuation reissue application Ser. No. 11/865,584 filed Oct. 1, 2007,now U.S. Reissue Pat. No. Re. 43,445, a continuation reissue applicationSer. No. 12/604,329, filed Oct. 22, 2009, and the present application,which is a Continuationcontinuation application of U.S. Reissue Pat. No.Re. 42,344, filed Oct. 23, 2003, which is a reissue application of U.S.patent application Ser. No. 09/773,461, filed Jan. 31, 2001 and now U.S.Pat. No. 6,307,848, which is a continuation application of U.S. patentapplication Ser. No. 09/551,304, filed Apr. 18, 2000, and titled “Methodof Addressing Messages, and Establishing Communications Using a TreeSearch Technique That Skips Levels” and now U.S. Pat. No. 6,226,300,which in turn is a continuation of U.S. patent application Ser. No.09/026,045, filed Feb. 19, 1998, which is now U.S. Pat. No. 6,072,801.

TECHNICAL FIELD

This invention relates to communications protocols and to digital datacommunications. Still more particularly, the invention relates to datacommunications protocols in mediums such as radio communication or thelike. The invention also relates to radio frequency identificationdevices for inventory control, object monitoring, determining theexistence, location or movement of objects, or for remote automatedpayment.

BACKGROUND OF THE INVENTION

Communications protocols are used in various applications. For example,communications protocols can be used in electronic identificationsystems. As large numbers of objects are moved in inventory, productmanufacturing, and merchandising operations, there is a continuouschallenge to accurately monitor the location and flow of objects.Additionally, there is a continuing goal to interrogate the location ofobjects in an inexpensive and streamlined manner. One way of trackingobjects is with an electronic identification system.

One presently available electronic identification system utilizes amagnetic coupling system. In some cases, an identification device may beprovided with a unique identification code in order to distinguishbetween a number of different devices. Typically, the devices areentirely passive (have no power supply), which results in a small andportable package. However, such identification systems are only capableof operation over a relatively short range, limited by the size of amagnetic field used to supply power to the devices and to communicatewith the devices.

Another wireless electronic identification system utilizes a largeactive transponder device affixed to an object to be monitored whichreceives a signal from an interrogator The device receives the signal,then generates and transmits a responsive signal. The interrogationsignal and the responsive signal are typically radio-frequency (RF)signals produced by an RF transmitter circuit. Because active deviceshave their own power sources, and do not need to be in close proximityto an interrogator or reader to receive power via magnetic coupling.Therefore, active transponder devices tend to be more suitable forapplications requiring tracking of a tagged device that may not be inclose proximity to an interrogator. For example, active transponderdevices tend to be more suitable for inventory control or tracking.

Electronic identification systems can also be used for remote payment.For example, when a radio frequency identification device passes aninterrogator at a toll booth, the toll booth can determine the identityof the radio frequency identification device, and thus of the owner ofthe device, and debit an account held by the owner for payment of tollor can receive a credit card number against which the toll can becharged. Similarly, remote payment is possible for a variety of othergoods or services.

A communication system typically includes two transponders: a commanderstation or interrogator, and a responder station or transponder devicewhich replies to the interrogator.

If the interrogator has prior knowledge of the identification number ofa device which the interrogator is looking for, it can specify that aresponse is requested only from the device with that identificationnumber. Sometimes, such information is not available. For example, thereare occasions where the interrogator is attempting to determine which ofmultiple devices are within communication range.

When the interrogator sends a message to a transponder device requestinga reply, there is a possibility that multiple transponder devices willattempt to respond simultaneously, causing a collision, and thus causingan erroneous message to be received by the interrogator. For example, ifthe interrogator sends out a command requesting that all devices withina communications range identify themselves, and gets a large number ofsimultaneous replies, the interrogator may not be able to interpret anyof these replies. Thus, arbitration schemes are employed to permitcommunications free of collisions.

In one arbitration scheme or system, described in commonly assigned U.S.Pat. Nos. 5,627,544; 5,583,850; 5,500,650; and 5,365,551, all toSnodgrass et al. and all incorporated herein by reference, theinterrogator sends a command causing each device of a potentially largenumber of responding devices to select a random number from a knownrange and use it as that device's arbitration number. By transmittingrequests for identification to various subsets of the full range ofarbitration numbers, and checking for an error-free response, theinterrogator determines the arbitration number of every responderstation capable of communicating at the same time. Therefore, theinterrogator is able to conduct subsequent uninterrupted communicationwith devices, one at a time, by addressing only one device.

Another arbitration scheme is referred to as the Aloha or slotted Alohascheme. This scheme is discussed in various references relating tocommunications, such as Digital Communications: Fundamentals andApplications, Bernard Sklar, published January 1988 by Prentice Hall. Inthis type of scheme, a device will respond to an interrogator using oneof many time domain slots selected randomly by the device. A problemwith the Aloha scheme is that if there are many devices, or potentiallymany devices in the field (i.e. in communications range, capable ofresponding) then there must be many available slots or many collisionswill occur. Having many available slots slows down replies. If themagnitude of the number of devices in a field is unknown, then manyslots are needed. This results in the system slowing down significantlybecause the reply time equals the number of slots multiplied by the timeperiod required for one reply.

An electronic identification system which can be used as a radiofrequency identification device, arbitration schemes, and variousapplications for such devices are described in detail in commonlyassigned U.S. patent application Ser. No. 08/705,043, filed Aug. 29,1996 and now U.S. Pat. No. 6,130,602, and and incorporated herein byreference.

SUMMARY OF THE INVENTION

In a first aspect of the invention, an interrogator that, when operated,performs a method is disclosed. In one embodiment, the method comprisestransmitting a first command to select a group of RFID devices based atleast in part on a first memory range beginning at a first bit location.The method further comprises transmitting a second command, successivelyfollowing the first command, to select a subgroup of the group of RFIDdevices based at least in part on a second memory range beginning at asecond bit location. The second bit location is shifted by two or morebits from the first bit location and receives a reply from at least oneRFID device of the subgroup of RFID devices. The reply includes anidentifier to uniquely identify the RFID device.

In a second aspect of the invention, a method is disclosed. In oneembodiment, the method comprises providing an RFID device that stores anidentification number to identify a person. The method includes sendinga first command from an interrogator that is configured to select agroup of RFID devices based at least in part on a respective first valuestored in each respective RFID device of the group of RFID devices. Therespective first value is bounded at a respective first bit locationwithin a memory of the respective RFID device. The method furthercomprises sending a second command from the interrogator after sendingthe first command and before sending any intervening command from theinterrogator configured to select a subgroup of the group of RFIDdevices based at least in part on a respective second value stored inthe respective RFID device of the group of RFID devices. The respectivesecond value is bounded at a respective second bit location within thememory of the respective RFID device. The second bit location is atleast two bits away from the first bit location. The method furthercomprises receiving a unique identifier of the RFID device from the RFIDdevice, the RFID device belonging to the subgroup, the unique identifierbeing separate from the identification number.

In a third aspect of the invention, a system is disclosed. In oneembodiment, the system comprises an RFID reader configured to send afirst command to indicate a first bit string and a first range of bits,followed, without any intervening query commands, by a second command toindicate a second bit string and a second range of bits, wherein thefirst range of bits differs from the second range of bits by at leasttwo bits. The system also includes an RFID device that stores anidentification code, and is further configured to compare the first bitstring to a first value stored in memory corresponding to the firstrange of bits. The RFID device is further configured to compare thesecond bit string to a second value stored in memory corresponding tothe second range of bits to provide an identifier to uniquely identifythe RFID device and to provide the identification code.

The invention provides a wireless identification device configured toprovide a signal to identify the device in response to an interrogationsignal.

Another aspect of the invention provides a method of establishingwireless communications between an interrogator and individual ones ofmultiple wireless identification devices. A tree search method isutilized to establish communications without collision between theinterrogator and individual ones of the multiple wireless identificationdevices. A search tree is defined for the tree search method. The treehas multiple levels representing subgroups of the multiple wirelessidentification devices. The number of devices in a subgroup in one levelis half of the number of devices in the next higher level. The treesearch method employs level skipping wherein at least one level of thetree is skipped.

Another aspect of the invention provides a communications systemcomprising an interrogator, and a plurality of wireless identificationdevices configured to communicate with the interrogator in a wirelessfashion. The respective wireless identification devices have a uniqueidentification number. The interrogator is configured to employ a treesearch technique to determine the unique identification numbers of thedifferent wireless identification devices so as to be able to establishcommunications between the interrogator and individual ones of themultiple wireless identification devices without collision by multiplewireless identification devices attempting to respond to theinterrogator at the same time. Levels of the tree are occasionallyskipped.

One aspect of the invention provides a radio frequency identificationdevice comprising an integrated circuit including a receiver, atransmitter, and a microprocessor. In one embodiment, the integratedcircuit is a monolithic single die single metal layer integrated circuitincluding the receiver, the transmitter, and the microprocessor. Thedevice of this embodiment includes an active transponder, instead of atransponder which relies on magnetic coupling for power, and thereforehas a much greater range.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the invention are described below withreference to the following accompanying drawings.

FIG. 1 is a high level circuit schematic showing an interrogator and aradio frequency identification device embodying the invention.

FIG. 2 is a front view of a housing, in the form of a badge or card,supporting the circuit of FIG. 1 according to one embodiment theinvention.

FIG. 3 is a front view of a housing supporting the circuit of FIG. 1according to another embodiment of the invention.

FIG. 4 is a diagram illustrating a tree splitting sort method forestablishing communication with a radio frequency identification devicein a field of a plurality of such devices.

FIG. 5. is a diagram illustrating a modified tree splitting sort methodfor establishing communication with a radio frequency identificationdevice in a field of a plurality of such devices.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

This disclosure of the invention is submitted in furtherance of theconstitutional purposes of the U.S. Patent Laws “to promote the progressof science and useful arts” (Article 1, Section 8).

FIG. 1 illustrates a wireless identification device 12 in accordancewith one embodiment of the invention. In the illustrated embodiment, thewireless identification device is a radio frequency data communicationdevice 12, and includes RFID circuitry 16. In the illustratedembodiment, the RFID circuitry is defined by an integrated circuit asdescribed in the above-incorporated patent application Ser. No.08/705,043, filed Aug. 29, 1996 and now U.S. Pat. No. 6,130,602. Otherembodiments are possible. A power source 18 is connected to theintegrated circuit 16 to supply power to the integrated circuit 16. Inone embodiment, the power source 18 comprises a battery. The device 12further includes at least one antenna 14 connected to the circuitry 16for wireless or radio frequency transmission and reception by thecircuitry 16.

The device 12 transmits and receives radio frequency communications toand from an interrogator 26. An exemplary interrogator is described incommonly assigned U.S. patent application Ser. No. 08/907,689, filedAug. 8, 1997 and now U.S. Pat. No. 6,289,209, which is incorporatedherein by reference. Preferably, the interrogator 26 includes an antenna28, as well as dedicated transmitting and receiving circuitry, similarto that implemented on the integrated circuit 16.

Generally, the interrogator 26 transmits an interrogation signal orcommand 27 via the antenna 28. The device 12 receives the incominginterrogation signal via its antenna 14. Upon receiving the signal 27,the device 12 responds by generating and transmitting a responsivesignal or reply 29. The responsive signal 29 typically includesinformation that uniquely identifies, or labels the particular device 12that is transmitting, so as to identify any object or person with whichthe device 12 is associated.

Although only one device 12 is shown in FIG. 1, typically there will bemultiple devices 12 that correspond with the interrogator 26, and theparticular devices 12 that are in communication with the interrogator 26will typically change over time. In the illustrated embodiment in FIG.1, there is no communication between multiple devices 12. Instead, thedevices 12 respectively communicate with the interrogator 26. Multipledevices 12 can be used in the same field of an interrogator 26 (i.e.,within communications range of an interrogator 26). Similarly, multipleinterrogators 26 can be in proximity to one or more of the devices 12.

The radio frequency data communication device 12 can be included in anyappropriate housing or packaging. Various methods of manufacturinghousings are described in commonly assigned U.S. patent application Ser.No. 08/800,037, filed Feb. 13, 1997, and now U.S. Pat. No. 5,988,510,which is incorporated herein by reference.

FIG. 2 shows but one embodiment in the form of a card or badge 19including the radio frequency data communication device 12, and ahousing 11 including plastic or other suitable material. In oneembodiment, the front face of the badge has visual identificationfeatures such as graphics, text, information found on identification orcredit cards, etc.

FIG. 3 illustrates but one alternative housing supporting the device 12.More particularly, FIG. 3 shows a miniature housing 20 encasing thedevice 12 to define a tag which can be supported by an object (e.g.,hung from an object, affixed to an object, etc.). Although twoparticular types of housings have been disclosed, the device 12 can beincluded in any appropriate housing.

If the power source 18 is a battery, the battery can take any suitableform. Preferably, the battery type will be selected depending on weight,size, and life requirements for a particular application. In oneembodiment, the battery 18 is a thin profile button-type cell forming asmall, thin energy cell more commonly utilized in watches and smallelectronic devices requiring a thin profile. A conventional button-typecell has a pair of electrodes, an anode formed by one face and a cathodeformed by an opposite face. In an alternative embodiment, the powersource 18 comprises a series connected pair of button type cells.Instead of using a battery, any suitable power source can be employed.

The circuitry 16 further includes a backscatter transmitter and isconfigured to provide a responsive signal to the interrogator 26 byradio frequency. More particularly, the circuitry 16 includes atransmitter, a receiver, and memory such as is described in U.S. patentapplication Ser. No. 08/705,043, filed Aug. 29, 1996, now U.S. Pat. No.6,130,602.

Radio frequency identification has emerged as a viable and affordablealternative to tagging or labeling small to large quantities of items.The interrogator 26 communicates with the devices 12 via an RF link, soall transmissions by the interrogator 26 are heard simultaneously by alldevices 12 within range.

If the interrogator 26 sends out a command requesting that all devices12 within range identify themselves, and gets a large number ofsimultaneous replies, the interrogator 26 may not be able to interpretany of these replies. Therefore, arbitration schemes are provided.

If the interrogator 26 has prior knowledge of the identification numberof a device 12 which the interrogator 26 is looking for, it can specifythat a response is requested only from the device 12 with thatidentification number. To target a command at a specific device 12,(i.e., to initiate point-on-point communication), the interrogator 26must send a number identifying a specific device 12 along with thecommand. At start-up, or in a new or changing environment, theseidentification numbers are not known by the interrogator 26. Therefore,the interrogator 26 must identify all devices 12 in the field (withincommunication range) such as by determining the identification numbersof the devices 12 in the field. After this is accomplished,point-to-point communication can proceed as desired by the interrogator26.

Generally speaking, RFID systems are a type of multiaccess communicationsystem. The distance between the interrogator 26 and devices 12 withinthe field is typically fairly short (e.g., several meters), so packettransmission time is determined primarily by packet size and baud rate.Propagation delays are negligible. In RFID systems, there is a potentialfor a large number of transmitting devices 12 and there is need for theinterrogator 26 to work in a changing environment, where differentdevices 12 are swapped in and out frequently (e.g., as inventory isadded or removed). In such systems, the inventors have determined thatthe use of random access methods work effectively for contentionresolution (i.e., for dealing with collisions between devices 12attempting to respond to the interrogator 26 at the same time).

RFID systems have some characteristics that are different from othercommunications systems. For example, one characteristic of theillustrated RFID systems is that the devices 12 never communicatewithout being prompted by the interrogator 26. This is in contrast totypical multiaccess systems where the transmitting units operate moreindependently. In addition, contention for the communication medium isshort lived as compared to the ongoing nature of the problem in othermultiaccess systems. For example, in a RFID system, after the devices 12have been identified, the interrogator can communicate with them in apoint-to-point fashion. Thus, arbitration in a RFID system is atransient rather than steady-state phenomenon. Further, the capabilityof a device 12 is limited by practical restrictions on size, power, andcost. The lifetime of a device 12 can often be measured in terms ofnumber of transmissions before battery power is lost. Therefore, one ofthe most important measures of system performance in RFID arbitration istotal time required to arbitrate a set of devices 12. Another measure ispower consumed by the devices 12 during the process. This is in contrastto the measures of throughput and packet delay in other types ofmultiaccess systems.

FIG. 4 illustrates one arbitration scheme that can be employed forcommunication between the interrogator and devices 12. Generally, theinterrogator 26 sends a command causing each device 12 of a potentiallylarge number of responding devices 12 to select a random number from aknown range and use it as that device's arbitration number. Bytransmitting requests for identification to various subsets of the fullrange of arbitration numbers, and checking for an error-free response,the interrogator 26 determines the arbitration number of every responderstation capable of communicating at the same time. Therefore, theinterrogator 26 is able to conduct subsequent uninterruptedcommunication with devices 12, one at a time, by addressing only onedevice 12.

Three variables are used: an arbitration value (AVALUE), an arbitrationmask (AMASK), and a random value ID (RV). The interrogator sends anIdentify command (IdentifyCmnd) causing each device of a potentiallylarge number of responding devices to select a random number from aknown range and use it as that device's arbitration number. Theinterrogator sends an arbitration value (AVALUE) and an arbitration mask(AMASK) to a set of devices 12. The receiving devices 12 evaluate thefollowing equation: (AMASK & AVALUE)==(AMASK & RV) wherein “&” is abitwise AND function, and wherein “==” is an equality function. If theequation evaluates to “1” (TRUE), then the device 12 will reply. If theequation evaluates to “0” (FALSE), then the device 12 will not reply. Byperforming this in a structured manner, with the number of bits in thearbitration mask being increased by one each time, eventually a device12 will respond with no collisions. Thus, a binary search treemethodology is employed.

An example using actual numbers will now be provided using only fourbits, for simplicity, reference being made to FIG. 4. In one embodiment,sixteen bits are used for AVALUE and AMASK. Other numbers of bits canalso be employed depending, for example, on the number of devices 12expected to be encountered in a particular application, on desired costpoints, etc.

Assume, for this example, that there are two devices 12 in the field,one with a random value (RV) of 1100 (binary), and another with a randomvalue (RV) of 1010 (binary). The interrogator is trying to establishcommunications without collisions being caused by the two devices 12attempting to communicate at the same time.

The interrogator sets AVALUE to 0000 (or “don't care” for all bits, asindicated by the character “X” in FIGS. 4) and AMASK to 0000. Theinterrogator transmits a command to all devices 12 requesting that theyidentify themselves. Each of the devices 12 evaluate (AMASK &AVALUE)==(AMASK & RV) using the random value RV that the respectivedevices 12 selected. If the equation evaluates to “1” (TRUE), then thedevice 12 will reply. If the equation evaluates to “0” (FALSE), then thedevice 12 will not reply. In the first level of the illustrated tree,AMASK is 0000 and anything bitwise ANDed with all zeros results in allzeros, so both the devices 12 in the field respond, and there is acollision.

Next, interrogator sets AMASK to 0001 and AVALUE to 0000 and transmitsan identify command. Both devices 12 in the field have a zero for theirleast significant bit, and (AMASK & AVALUE)==(AMASK & RV) will be truefor both devices 12. For the device 12 with a random value of 1100, theleft side of the equation is evaluated as follows (0001 & 0000)=0000.The right side is evaluated as (0001 & 1100)=0000. The left side equalsthe right side, so the equation is true for the device 12 with therandom value of 1100. For the device 12 with a random value of 1010, theleft side of the equation is evaluated as (0001 & 0000)=0000. The rightside is evaluated as (0001 & 1010)=0000. The left side equals the rightside, so the equation is true for the device 12 with the random value of1010. Because the equation is true for both devices 12 in the field,both devices 12 in the field respond, and there is another collision.

Recursively, the interrogator next sets AMASK to 0011 with AVALUE stillat 0000 and transmits an Identify command. (AMASK & AVALUE)==(AMASK &RV) is evaluated for both devices 12. For the device 12 with a randomvalue of 1100, the left side of the equation is evaluated as follows(0011 & 0000)=0000. The right side is evaluated as (0011 & 1100)=0000.The left side equals the right side, so the equation is true for thedevice 12 with the random value of 1100, so this device 12 responds Forthe device 12 with a random value of 1010, the left side of the equationis evaluated as (0011 & 0000)=0000. The right side is evaluated as (0011& 1010)=0010. The left side does not equal the right side, so theequation is false for the device 12 with the random value of 1010, andthis device 12 does not respond. Therefore, there is no collision, andthe interrogator can determine the identity (e.g., an identificationnumber) for the device 12 that does respond.

De-recursion takes place, and the devices 12 to the right for the sameAMASK level are accessed when AVALUE is set at 0010, and AMASK is set to0011.

The device 12 with the random value of 1010 receives a command andevaluates the equation (AMASK & AVALUE)==(AMASK & RV). The left side ofthe equation is evaluated as (0011 & 0010)=0010. The right side of theequation is evaluated as (0011 & 1010)=0010. The right side equals theleft side, so the equation is true for the device 12 with the randomvalue of 1010. Because there are no other devices 12 in the subtree, agood reply is returned by the device 12 with the random value of 1010.There is no collision, and the interrogator can determine the identity(e.g., an identification number) for the device 12 that does respond.

By recursion, what is meant is that a function makes a call to itself.In other words, the function calls itself within the body of thefunction. After the called function returns, de-recursion takes placeand execution continues at the place just after the function call; i.e.at the beginning of the statement after the function call.

For instance, consider a function that has four statements (numbered1,2,3,4) in it, and the second statement is a recursive call. Assumethat the fourth statement is a return statement. The first time throughthe loop (iteration 1) the function executes the statement 2 and(because it is a recursive call) calls itself causing iteration 2 tooccur. When iteration 2 gets to statement 2, it calls itself makingiteration 3. During execution in iteration 3 of statement 1, assume thatthe function does a return. The information that was saved on the stackfrom iteration 2 is loaded and the function resumes execution atstatement 3 (in iteration 2), followed by the execution of statement 4which is also a return statement. Since there are no more statements inthe function, the function de-recurses to iteration 1. Iteration 1, hadpreviously recursively called itself in statement 2. Therefore, it nowexecutes statement 3 (in iteration 1). Following that it executes areturn at statement 4. Recursion is known in the art.

Consider the following code which can be used to implement operation ofthe method shown in FIG. 4 and described above.

Arbitrate(AMASK, AVALUE)  {   collision=IdentifyCmnd(AMASK, AVALUE)   if(collision) then      {        /* recursive call for left side */      Arbitrate((AMASK<<1)+1, AVALUE)        /* recursive call for rightside */     Arbitrate((AMASK<<1)+1, AVALUE+(AMASK+1))    } /* endif */ } /* return */

The symbol “<<” represents a bitwise left shift. “<<1” means shift leftby one place. Thus, 0001<<1 would be 0010. Note, however, that AMASK isoriginally called with a value of zero, and 0000<<1 is still 0000.Therefore, for the first recursive fall, AMASK=(AMASK<<1)+1. So for thefirst recursive call, the value of AMASK is 0000+0001=0001. For thesecond call, AMASK=(0001<<1)+1=0010+1=0011. For the third recursivecall, AMASK=(0011<<1)+1=0110+1=0111.

The routine generates values for AMASK and AVALUE to be used by theinterrogator in an identify command “IdentifyCmnd.” Note that theroutine calls itself if there is a collision. De-recursion occurs whenthere is no collision. AVALUE and AMASK would have values such as thefollowing assuming collisions take place all the way down to the bottomof the tree.

AVALUE AMASK 0000 0000 0000 0001 0000 0011 0000 0111 0000  1111* 1000 1111* 0100 0111 0100  1111* 1100  1111*

This sequence of AMASK, AVALUE binary numbers assumes that there arecollisions all the way down to the bottom of the tree, at which pointthe Identify command sent by the interrogator is finally successful sothat no collision occurs. Rows in the table for which the interrogatoris successful in receiving a reply without collision are marked with thesymbol “*”. Note that if the Identify command was successful at, forexample, the third line in the table then the interrogator would stopgoing down that branch of the tree and start down another, so thesequence would be as shown in the following table.

AVALUE AMASK 0000 0000 0000 0001 0000  0011* 0010 0011 . . . . . .

This method is referred to as a splitting method. It works by splittinggroups of colliding devices 12 into subsets that are resolved in turn.The splitting method can also be viewed as a type of tree search. Eachsplit moves the method one level deeper in the tree.

Either depth-first or breadth-first traversals of the tree can beemployed. Depth first traversals are performed by using recursion, as isemployed in the code listed above. Breadth-first traversals areaccomplished by using a queue instead of recursion. The following is anexample of code for performing a breadth-first traversal.

Arbitrate(AMASK, AVALUE)   {    enqueue(0,0)    while (queue != empty)    (AMASK,AVALUE) = dequeue( )     collision=IdentifyCmnd(AMASK,AVALUE)     if (collision) then     {      TEMP = AMASK+1      NEW_AMASK= (AMASK<<1)+1      enqueue(NEW_AMASK, AVALUE)      enqueue(NEW_AMASK,AVALUE+TEMP)      } /* endif */  endwhile  }/* return */

The symbol “!=” means not equal to. AVALUE and AMASK would have valuessuch as those indicated in the following table for such code.

AVALUE AMASK 0000 0000 0000 0001 0001 0001 0000 0011 0010 0011 0001 00110011 0011 0000 0111 0100 0111 . . . . . .

Rows in the table for which the interrogator is successful in receivinga reply without collision are marked with the symbol “*”.

FIG. 5 illustrates an embodiment wherein levels in the tree are skipped.The inventors have determined that skipping levels in the tree, after acollision caused by multiple devices 12 responding, reduces the numberof subsequent collisions without adding significantly to the number ofno replies. In real-time systems, it is desirable to have quickarbitration sessions on a set of devices 12 whose unique identificationnumbers are unknown. Level skipping reduces the number of collisions,both reducing arbitration time and conserving battery life on a set ofdevices 12.

Thus, FIG. 5 illustrates a binary search tree 32 being defined for atree search method similar to the tree search method described inconnection with FIG. 4. The tree 32 has multiple levels 34, 36, 38, 40,and 42 representing subgroups of the multiple devices 12. The number ofdevices in a subgroup in one level 34, 36, 38, 40, and 42 is half of thenumber of devices in the next higher level 34, 36, 38, 40, and 42.Although only five levels are shown, if more bits are employed, (e.g.,sixteen bits or an integer multiple of eight or sixteen bits for each ofAMASK and AVALUE), there will of course be more levels. The tree searchmethod illustrated in FIG. 5 employs level skipping wherein at least onelevel of the tree is skipped.

A first predetermined number of bits, e.g. sixteen or an integermultiple of eight or sixteen bits, are established to be used as uniqueidentification numbers. Respective devices 12 are provided with uniqueidentification numbers respectively having the first predeterminednumbers of bits, in addition to their random values RV. For example,such unique identification numbers are stored in memory in therespective devices 12.

A second predetermined number of bits are established to be used for therandom values RV. The devices 12 are caused to select random values, RV.This is done, for example, by the interrogator 26 sending an appropriatecommand. Respective devices choose random values independently of randomvalues selected by the other devices 12. Random number generators areknown in the art.

The interrogator transmits a command requesting devices 12 having randomvalues RV within a specified group of random values to respond, using amethodology similar to that described in connection with FIG. 4, exceptthat levels are skipped. Four subsets of random values, instead of two,are probed when moving down the tree and skipping a level. This meansthat instead of eliminating half of the remaining devices 12 andre-trying, after a collision, the interrogator eliminates three quartersof the remaining devices 12 and re-tries (by sending a command). Inother words, a new specified group is created that is one quarter of theset of random values of the previous group.

Each devices 12 that receives the command determines if its chosenrandom value falls within the specified group by evaluating the equation(AMASK & AVALUE)==(AMASK & RV) and, if so, sends a reply, to theinterrogator. The reply includes the random value of the replying device12 and the unique identification number of the device 12. Theinterrogator determines if a collision occurred between devices thatsent a reply and, if so, creates a new, smaller, specified group, bymoving down the tree, skipping a level.

In the illustrated embodiment, every other level is skipped. Inalternative embodiments, more than one level is skipped each time.

The trade off that must be considered in determining how many (if any)levels to skip with each decent down the tree is as following. Skippinglevels reduces the number of collisions, thus saving battery power inthe devices 12. Skipping deeper (skipping more than one level) furtherreduces the number of collisions. The more levels that are skipped, thegreater the reduction in collisions. However, skipping levels results inlonger search times because the number of queries (Identify commands)increases. The more levels that are skipped, the longer the searchtimes. The inventors have determined that skipping just one level has analmost negligible effect on search time, but drastically reduces thenumber of collisions. If more than one level is skipped, search timeincreases substantially.

The inventors have determined that skipping every other leveldrastically reduces the number of collisions and saves battery powerwith out significantly increasing the number of queries.

After receiving a reply without collision from a device 12, theinterrogator 26 can send a command individually addressed to that deviceby using its now known random value or its now known uniqueidentification number.

The above described code for depth-first traversal is modified toprovide for level skipping by increasing the number of recursive callsas shown below. For example, the above described code for depth-firsttraversal is replaced with code such as the following to provide fordepth-first traversal employing level skipping.

Arbitrate(AMASK, AVALUE)  {   collision=IdentifyCmnd(AMASK, AVALUE)   if(collision) then    {     TEMP = AMASK+1     NEW_AMASK = (AMASK<<2)+3    Arbitrate(NEW_AMASK, AVALUE)     Arbitrate(NEW_AMASK, AVALUE+TEMP)    Arbitrate(NEW_AMASK, AVALUE+2*TEMP)     Arbitrate(NEW_AMASK,AVALUE+3*TEMP)    } /* endif */  }/* return */

AVALUE and AMASK would have values such as those indicated in thefollowing table for such code.

AVALUE AMASK 0000 0000  0000 0011  0000 1111* 0100 1111* 1000 1111* 11001111* 0001 0011  0001 1111* 0101 1111* 1001 1111* 1101 1111* 0010 0011 0010 1111* 0110 1111* 1010 1111* 1110 1111* . . . . . .

Rows in the table for which the interrogator is successful in receivinga reply without collision are marked with the symbol “*”.

Similarly, the code provided above for breadth-first traversal can bereadily modified to employ level skipping. Instead of inserting twoitems into the queue each time through the loop, four items are insertedinto the queue each time through the loop. For either breadth-firsttraversal or depth-first traversal, AMASK will be shifted by two bitsinstead of one, and AVALUE will take on twice as many different valuesas in the case where level skipping is not employed.

Another arbitration method that can be employed is referred to as the“Aloha” method. In the Aloha method, every time a device 12 is involvedin a collision, it waits a random period of time before retransmitting.This method can be improved by dividing time into equally sized slotsand forcing transmissions to be aligned with one of these slots. This isreferred to as “slotted Aloha.” In operation, the interrogator asks alldevices 12 in the field to transmit their identification numbers in thenext time slot. If the response is garbled, the interrogator informs thedevices 12 that a collision has occurred, and the slotted Aloha schemeis put into action. This means that each device 12 in the field respondswithin an arbitrary slot determined by a randomly selected value. Inother words, in each successive time slot, the devices 12 decide totransmit their identification number with a certain probability.

The Aloha method is based on a system operated by the University ofHawaii. In 1971, the University of Hawaii began operation of a systemnamed Aloha. A communication satellite was used to interconnect severaluniversity computers by use of a random access protocol. The systemoperates as follows. Users or devices transmit at any time they desire.After transmitting, a user listens for an acknowledgment from thereceiver or interrogator. Transmissions from different users willsometimes overlap in time (collide), causing reception errors in thedata in each of the contending messages. The errors are detected by thereceiver, and the receiver sends a negative acknowledgment to the users.When a negative acknowledgment is received, the messages areretransmitted by the colliding users after a random delay. If thecolliding users attempted to retransmit without the random delay, theywould collide again. If the user does not receive either anacknowledgment or a negative acknowledgment within a certain amount oftime, the user “times out” and retransmits the message.

There is a scheme known as slotted Aloha which improves the Aloha schemeby requiring a small amount of coordination among stations. In theslotted Aloha scheme, a sequence of coordination pulses is broadcast toall stations (devices). As is the case with the pure Aloha scheme,packet lengths are constant. Messages are required to be sent in a slottime between synchronization pulses, and can be started only at thebeginning of a time slot. This reduces the rate of collisions becauseonly messages transmitted in the same slot can interfere with oneanother. The retransmission mode of the pure Aloha scheme is modifiedfor slotted Aloha such that if a negative acknowledgment occurs, thedevice retransmits after a random delay of an integer number of slottimes.

Aloha methods are described in a commonly assigned patent application(attorney docket number MI40-089) naming Clifton W. Wood, Jr. as aninventor, titled “Method of Addressing Messages and CommunicationsSystem,” filed concurrently herewith, and Ser. No. 09/026,248, filedFeb. 19, 1998, now U.S. Pat. No. 6,275,476, which is incorporated hereinby reference.

In one alternative embodiment, an Aloha method is combined with levelskipping, such as the level skipping shown and described in connectionwith FIG. 5. For example, in one embodiment, devices 12 sending a replyto the interrogator 26 do so within a randomly selected time slot of anumber of slots.

In compliance with the statute, the invention has been described inlanguage more or less specific as to structural and methodical features.It is to be understood, however, that the invention is not limited tothe specific features shown and described, since the means hereindisclosed comprise preferred forms of putting the invention into effect.The invention is, therefore, claimed in any of its forms ormodifications within the proper scope of the appended claimsappropriately interpreted in accordance with the doctrine ofequivalents.

What is claimed is:
 1. A method of establishing wireless communicationsbetween an interrogator and wireless identification devices, the methodcomprising utilizing a tree search technique to establish communicationswithout collision between the interrogator and individual ones of themultiple wireless identification devices, the method including using abinary search tree having multiple levels representing subgroups of themultiple wireless identification devices, the number of devices in asubgroup in one level being less than the number of devices in the nextlevel, the tree search technique employing level skipping wherein everysecond level of the tree is skipped.
 2. A method in accordance withclaim 1 wherein the wireless identification device comprises anintegrated circuit including a receiver, a modulator, and amicroprocessor in communication with the receiver and modulator.
 3. Amethod in accordance with claim 1 wherein when a subgroup contains botha device that is within communications range of the interrogator, and adevice that is not within communications range of the interrogator, thedevice that is not within communications range of the interrogator doesnot respond to the command.
 4. A method in accordance with claim 1wherein when a subgroup contains both a device that is withincommunications range of the interrogator, and a device that is notwithin communications range of the interrogator, the device that iswithin communications range of the interrogator responds to the command.5. A method in accordance with claim 1 wherein a device in a subgroupchanges between being within communications range of the interrogatorand not being within communications range, over time.
 6. A method ofaddressing messages from an interrogator to a selected one or more of anumber of communications devices, the method comprising: establishingfor respective devices unique identification numbers; causing thedevices to select random values, wherein respective devices chooserandom values independently of random values selected by the otherdevices; transmitting a communication, from the interrogator, requestingdevices having random values within a specified group of random valuesto respond; receiving the communication at multiple devices, devicesreceiving the communication respectively determining if the random valuechosen by the device falls within the specified group and, if so,sending a reply to the interrogator; and determining using theinterrogator if a collision occurred between devices that sent a replyand, if so, creating a new, smaller, specified group, using a searchtree, that is one quarter of the first mentioned specified group,wherein at least one level of a search tree is skipped.
 7. A method ofaddressing messages from an interrogator to a selected one or more of anumber of communications devices in accordance with claim 6 whereinsending a reply to the interrogator comprises transmitting the uniqueidentification number of the device sending the reply.
 8. A method ofaddressing messages from an interrogator to a selected one or more of anumber of communications devices in accordance with claim 6 whereinsending a reply to the interrogator comprises transmitting the randomvalue of the device sending the reply.
 9. A method of addressingmessages from an interrogator to a selected one or more of a number ofcommunications devices in accordance with claim 6 wherein sending areply to the interrogator comprises transmitting both the random valueof the device sending the reply and the unique identification number ofthe device sending the reply.
 10. A method of addressing messages froman interrogator to a selected one or more of a number of communicationsdevices in accordance with claim 6 wherein, after receiving a replywithout collision from a device, the interrogator sends a commandindividually addressed to that device.
 11. A method of addressingmessages from a transponder to a selected one or more of a number ofcommunications devices, the method comprising: causing the devices toselect random values, wherein respective devices choose random valuesindependently of random values selected by the other devices;transmitting a communication, from the transponder, requesting deviceshaving random values within a specified group of a plurality of possiblegroups of random values to respond, the specified group being less thanor equal to the entire set of random values, the plurality of possiblegroups being organized in a binary tree having a plurality of levels,wherein groups of random values decrease in size with each leveldescended; devices receiving the communication respectively determiningif the random value chosen by the device falls within the specifiedgroup and, if so, sending a reply to the transponder; and, if not, notsending a reply; and determining using the transponder if a collisionoccurred between devices that sent a reply and, if so, creating a new,smaller, specified group by descending at least two levels in the tree.12. A method of addressing messages from a transponder to a selected oneor more of a number of communications devices in accordance with claim11 and further comprising establishing unique identification numbers forrespective devices.
 13. A method of addressing messages from atransponder to a selected one or more of a number of communicationsdevices in accordance with claim 12 and further including establishing apredetermined number of bits to be used for the random values.
 14. Amethod of addressing messages from a transponder to a selected one ormore of a number of communications devices in accordance with claim 13wherein the predetermined number of bits to be used for the randomvalues comprises sixteen bits.
 15. A method of addressing messages froma transponder to a selected one or more of a number of communicationsdevices in accordance with claim 13 wherein devices sending a reply tothe transponder do so within a randomly selected time slot of a numberof slots.
 16. A method of addressing messages from an interrogator to aselected one or more of a number of RFID devices, the method comprising:establishing for respective devices unique identification numbers;causing the devices to select random values, wherein respective deviceschoose random values independently of random values selected by theother devices; transmitting from the interrogator a command requestingdevices having random values within a specified group of a plurality ofpossible groups of random values to respond, the specified group beingless than or equal to the entire set of random values, the plurality ofpossible groups being organized in a binary tree having a plurality oflevels, wherein groups of random values decrease in size with eachlevel; receiving the command at multiple of the devices, the devicesreceiving the command respectively determining if the random valuechosen by the device falls within the specified group and, only if so,sending a reply to the interrogator, wherein sending a reply to theinterrogator comprises transmitting both the random value of the devicesending the reply and the unique identification number of the devicesending the reply; determining using the interrogator if a collisionoccurred between devices that sent a reply and, if so, creating a new,smaller, specified group using a level of the tree different from thelevel used in the interrogator transmitting, wherein at least one levelof the tree is skipped, the interrogator transmitting a commandrequesting devices having random values within the new specified groupof random values to respond; and if a reply without collision isreceived from a device, the interrogator subsequently sending a commandindividually addressed to that device.
 17. A method of addressingmessages from an interrogator to a selected one or more of a number ofRFID devices in accordance with claim 16 wherein every second level isskipped.
 18. A method of addressing messages from an interrogator to aselected one or more of a number of RFID devices in accordance withclaim 16 wherein the unique identification numbers are respectivelydefined by a predetermined number of bits.
 19. A method of addressingmessages from an interrogator to a selected one or more of a number ofRFID devices in accordance with claim 16 wherein the uniqueidentification numbers are respectively defined by a predeterminednumber of bits and wherein the random values are respectively defined bya predetermined number of bits.
 20. A method of addressing messages froman interrogator to a selected one or more of a number of RFID devices inaccordance with claim 16 and further comprising, after the interrogatortransmits a command requesting devices having random values within thenew specified group of random values to respond: devices receiving thecommand respectively determining if their chosen random values fallwithin the new smaller specified group and, if so, sending a reply tothe interrogator.
 21. A method of addressing messages from aninterrogator to a selected one or more of a number of RFID devices inaccordance with claim 20 and further comprising, after the interrogatortransmits a command requesting devices having random values within thenew specified group of random values to respond: determining if acollision occurred between devices that sent a reply and, if so,creating a new specified group and repeating the transmitting of thecommand requesting devices having random values within a specified groupof random values to respond using different specified groups until allof the devices within communications range are identified.
 22. A systemcomprising: an interrogator; a number of communications devices capableof wireless communications with the interrogator; means for establishingfor respective devices unique identification numbers respectively havingthe first predetermined number of bits; means for causing the devices toselect random values, wherein respective devices choose random valuesindependently of random values selected by the other devices; means forcausing the interrogator to transmit a command requesting devices havingrandom values within a specified group of random values to respond;means for causing devices receiving the command to determine if theirchosen random values fall within the specified group and, if so, to senda reply to the interrogator; and means for causing the interrogator todetermine if a collision occurred between devices that sent a reply and,if so, to create a new, smaller, specified group that is one quarter ofthe first mentioned specified group, wherein at least one level of thetree is skipped.
 23. A system in accordance with claim 22 whereinsending a reply to the interrogator comprises transmitting the uniqueidentification number of the device sending the reply.
 24. A system inaccordance with claim 22 wherein sending a reply to the interrogatorcomprises transmitting the random value of the device sending the reply.25. A system in accordance with claim 22 wherein sending a reply to theinterrogator comprises transmitting both the random value of the devicesending the reply and the unique identification number of the devicesending the reply.
 26. A system in accordance with claim 22 wherein theinterrogator further includes means for, after receiving a reply withoutcollision from a device, sending a command individually addressed tothat device.
 27. An interrogator that, when operated, performs a methodcomprising: transmitting a first command to select a group of RFIDdevices based, at least in part, on a first memory range beginning at afirst bit location; transmitting a second command, successivelyfollowing the first command, to select a subgroup of the group of RFIDdevices based, at least in part, on a second memory range beginning at asecond bit location, wherein the second bit location is shifted by twoor more bits from the first bit location; and receiving a reply from atleast one RFID device of the subgroup of RFID devices, the replyincluding an identifier to uniquely identify the RFID device.
 28. Theinterrogator of claim 27, wherein the method further comprisestransmitting a third command after transmitting the second command andbefore receiving the reply, the third command including a at least onefield configured to select at least a portion of the subgroup of RFIDdevices to reply to the third command.
 29. The interrogator of claim 28,wherein the method further comprises transmitting a signal, the signalassociated with a slotted arbitration scheme.
 30. The interrogator ofclaim 27, wherein the reply further includes an identification numberthat identifies a person with whom the RFID device is associated. 31.The interrogator of claim 27, wherein the method further comprisestransmitting a command that causes the subgroup of RFID devices toindependently generate random numbers as identifiers.
 32. Theinterrogator of claim 27, wherein the method further comprisestransmitting a signal after transmitting the second command and beforereceiving the reply, the signal indicating a number of slots inaccordance with a slotted arbitration scheme.
 33. The interrogator ofclaim 22, wherein the reply further includes an identification numberthat identifies a person with whom the RFID device is associated.
 34. Amethod, comprising: providing an RFID device storing an identificationnumber to identify a person; sending a first command from aninterrogator, the first command configured to select a group of RFIDdevices based, at least in part, on a respective first value stored ineach respective RFID device of the group of RFID devices, the respectivefirst value bounded at a respective first bit location within a memoryof the respective RFID device; sending a second command from theinterrogator after sending the first command and before sending anyintervening command from the interrogator, the second command configuredto select a subgroup of the group of RFID devices based, at least inpart, on a respective second value stored in the respective RFID deviceof the group of RFID devices, the respective second value bounded at arespective second bit location within the memory of the respective RFIDdevice, wherein the second bit location is at least two bits away fromthe first bit location; and receiving a unique identifier of the RFIDdevice from the RFID device, the RFID device belonging to the subgroup,the unique identifier being separate from the identification number. 35.The method of claim 34, wherein the respective first value of the RFIDdevice comprises at least a portion of the unique identifier.
 36. Themethod of claim 34, further comprising receiving the identificationnumber from the RFID device.
 37. The method of claim 36, furthercomprising sending the unique identifier to the device.
 38. The methodof claim 37, further comprising sending a third command to the RFIDdevice, the third command associated with a slot value.
 39. The methodof claim 34, further comprising sending a third signal from theinterrogator, the third signal being associated with a slotted randomanticollision algorithm and indicating a number of slots for the RFIDdevice.
 40. The method of claim 39, further comprising receiving theidentification number from the RFID device.
 41. A system comprising: anRFID reader configured to send a first command to indicate a first bitstring and a first range of bits, followed, without any interveningquery commands, by a second command to indicate a second bit string anda second range of bits, wherein the first range of bits differs from thesecond range of bits by at least two bits; an RFID device storing anidentification code, the RFID device configured to compare the first bitstring to a first value stored in memory corresponding to the firstrange of bits, to compare the second bit string to a second value storedin memory corresponding to the second range of bits, to provide anidentifier to uniquely identify the RFID device, and to provide theidentification code.
 42. The system of claim 41, wherein the reader isfurther configured to send the identifier to the RFID device.
 43. Thesystem of claim 42, wherein the RFID device is further configured topick a random slot value.
 44. The system of claim 43, wherein the readeris further configured to send a third command to instruct the RFIDdevice to generate the identifier.